/* ========================================================================= */
/* ------------------------------------------------------------------------- */
/*!
  \file			plgin_sample.h
  \date			June 2011
  \author		TNick

  \brief		Contains the definition for plgin_sample class


 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @n
 Please read ReadMe.txt and Licence.txt in root folder @n
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @n

*/
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
#ifndef __PLGIN_SAMPLE_INC__
#define __PLGIN_SAMPLE_INC__
//
//
//
//
/*  INCLUDES    ------------------------------------------------------------ */

#include <QObject>
#include <QStringList>

#include	<base/CC_PlgInTpl.h>

/*  INCLUDES    ============================================================ */
//
//
//
//
/*  CLASS    --------------------------------------------------------------- */

/// class
/**
*
*/
class plgin_sample: public QObject, public CC_PlgInTpl 		{
	Q_OBJECT
	Q_INTERFACES(CC_PlgInTpl)

	//
	//
	//
	//
	/*  DEFINITIONS    ----------------------------------------------------- */

	/*  DEFINITIONS    ===================================================== */
	//
	//
	//
	//
	/*  DATA    ------------------------------------------------------------ */

private:



	/*  DATA    ============================================================ */
	//
	//
	//
	//
	/*  FUNCTIONS    ------------------------------------------------------- */

public:

	/// destructor;
	virtual						~plgin_sample		(void) {}


	/// initialization performed after load; called by loader
	/**
	*	@return	false to cancel the loading
	*/
	virtual bool				init				(void);

	/// plug-in is informed about the fact that it's being unloaded
	virtual void				end					(void);

	/// function that tells how manny commands this module stores
	/**
	*	if the module does not export any commands to the user, this is ok to
	*	be 0;
	*
	*	@return		number of items or 0 if none
	*/
	virtual unsigned			countCmd			(void);

	/// function that exports internal array of commands
	/**
	*	if the module does not export any commands to the user, this is ok to
	*	be NULL;
	*
	*	@return		a valid pointer or NULL
	*/
	virtual CC_Cmd*				arrayCmd			(void);




	/*  FUNCTIONS    ======================================================= */
	//
	//
	//
	//

};	/*	class plgin_sample	*/

/*  CLASS    =============================================================== */
//
//
//
//
#endif // __PLGIN_SAMPLE_INC__
/* ------------------------------------------------------------------------- */
/* ========================================================================= */

